#ifndef RRCUBOID_H
#define RRCUBOID_H

#include "rrprim.h"
#include "rrmath.h"

enum RRSURFACE {RR_UPPER, RR_DOWN, RR_FRONT, RR_REAR, RR_RIGHT, RR_LEFT};

class RRCuboid : public RRPrim
{
private:
    RRVec3 Norm;

public:
    RRCuboid(RRTracer *parent);
    float rrHit(RRRay arg);
    float rrHitSurface(RRRay ray, RRSURFACE dir, float dmin);
    RRVec4 rrCalcShadow(RRRay arg);
    RRVec4 rrCalcGlare(RRVec3 N);
    RRVec4 rrTrace();
};

#endif // RRCUBOID_H
